package com.honsen.yangban;

import android.annotation.SuppressLint;
import android.content.res.AssetManager;
import android.os.Bundle;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.webkit.WebSettings;
import android.widget.LinearLayout;
import android.widget.TextView;

import androidx.appcompat.app.AppCompatActivity;

import com.just.agentweb.AgentWeb;

public class WebViewActivity extends AppCompatActivity {

    private LinearLayout web;
    private TextView tv_close;
    public AgentWeb mAgentWeb;

    @SuppressLint("NewApi")
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_web);
        try {
            web = findViewById(R.id.ll_view);
            tv_close = findViewById(R.id.tv_close);
            mAgentWeb = AgentWeb.with(this)
                    .setAgentWebParent((LinearLayout) web, new LinearLayout.LayoutParams(-1, -1))
                    .useDefaultIndicator()
                    .createAgentWeb()
                    .ready()
                    .go("http://dpac.samr.gov.cn/aqjy/");
            mAgentWeb.getWebCreator().getWebView().getSettings().setJavaScriptEnabled(true);
//        webView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
            //优先使用网络
            mAgentWeb.getWebCreator().getWebView().getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
            //将图片调整到适合webview的大小
            mAgentWeb.getWebCreator().getWebView().getSettings().setUseWideViewPort(true);
            //支持内容重新布局
            mAgentWeb.getWebCreator().getWebView().getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);
            //支持自动加载图片
            mAgentWeb.getWebCreator().getWebView().getSettings().setLoadsImagesAutomatically(true);
            //当webview调用requestFocus时为webview设置节点
            mAgentWeb.getWebCreator().getWebView().getSettings().setNeedInitialFocus(true);
            //自适应屏幕
            mAgentWeb.getWebCreator().getWebView().getSettings().setUseWideViewPort(true);
            mAgentWeb.getWebCreator().getWebView().getSettings().setLoadWithOverviewMode(true);
            //开启DOM storage API功能（HTML5 提供的一种标准的接口，主要将键值对存储在本地，在页面加载完毕后可以通过 javascript 来操作这些数据。）
            mAgentWeb.getWebCreator().getWebView().getSettings().setDomStorageEnabled(true);
            //支持缩放
            mAgentWeb.getWebCreator().getWebView().getSettings().setBuiltInZoomControls(true);
            mAgentWeb.getWebCreator().getWebView().getSettings().setSupportZoom(true);
            mAgentWeb.getWebCreator().getWebView().getSettings().setMediaPlaybackRequiresUserGesture(false);
            //允许webview对文件的操作
            mAgentWeb.getWebCreator().getWebView().getSettings().setAllowFileAccess(true);
            mAgentWeb.getWebCreator().getWebView().getSettings().setAllowFileAccessFromFileURLs(true);
            mAgentWeb.getWebCreator().getWebView().getSettings().setAllowUniversalAccessFromFileURLs(true);
        mAgentWeb.getWebCreator().getWebView().getSettings().setJavaScriptCanOpenWindowsAutomatically(true);

            mAgentWeb.getWebCreator().getWebView().setOnKeyListener(new View.OnKeyListener() {
                @Override
                public boolean onKey(View v, int keyCode, KeyEvent event) {
                    if (event.getAction() == KeyEvent.ACTION_DOWN) {
                        if (keyCode == KeyEvent.KEYCODE_BACK && mAgentWeb.getWebCreator().getWebView().canGoBack()) { // 表示按返回键时的操作
                            mAgentWeb.getWebCreator().getWebView().goBack(); // 后退
                            // webview.goForward();//前进
                            return true; // 已处理
                        } else if (keyCode == KeyEvent.KEYCODE_BACK) {
                            moveTaskToBack(true);
                        }
                    }
                    return false;
                }
            });

//        web.setWebViewClient(new ArticleWebViewClient()); //防止用浏览器打开网页
//        loginwebview("http://dpac.samr.gov.cn/aqjy/");
            tv_close.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    finish();
                }
            });

        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    @Override
    public AssetManager getAssets() {
        return getResources().getAssets();
    }

    @Override
    public void onResume() {
        mAgentWeb.getWebLifeCycle().onResume();//恢复
        super.onResume();
    }

    @Override
    public void onPause() {
        mAgentWeb.getWebLifeCycle().onPause(); //暂停应用内所有WebView ， 调用mWebView.resumeTimers();/mAgentWeb.getWebLifeCycle().onResume(); 恢复。
        super.onPause();
    }

    @Override
    protected void onDestroy() {
        mAgentWeb.getWebLifeCycle().onDestroy();
        super.onDestroy();

    }


}
